#include <iostream>
#include "/usr/local/mysql/include/mysql.h"
#include <string.h>
#include "connect.cpp"

//说明，需要使用mysql步骤如下：
// 1、本机安装了Mysql
// 2、本机有MySQL的静态或者动态库以及头文件，安装了一般都有
// 3、代码引用头文件，
// 4、编译时使用 -l 参数指定库文件，比如libmysqlclient，则指定为 -lmysqlclient
// 5、步骤4会默认去/usr/lib或者/usr/local/lib找 -l 参数指定的库文件，所以要把mysql的库文件copy到前面的目录
// 6、本机的库文件在/usr/local/Cellar/mysql/5.7.13/lib，软连或拷贝到/usr/local/lib
// 7、编译 g++ query.cpp -L/usr/local/mysql/lib/ -lmysqlclient -o query
int main(){
    MYSQL conn;
    conn = my_connect();

    int res = mysql_query(&conn, "select * from user limit 10");
    if(res){
        std::cout << "query error:" << res << std::endl;
    }else{
        MYSQL_RES *result;
        MYSQL_ROW sql_row;
        result = mysql_store_result(&conn);
        if(result){
            while( (sql_row = mysql_fetch_row(result)) ){
                //while中的等号编译时会被提示用两个等号表示等于表达式。外面加层等号可以消除。
                std::cout << "cloumn0:"<< sql_row[0] << std::endl;
                std::cout << "cloumn1:"<< sql_row[1] << std::endl;
                std::cout << "cloumn2:"<< sql_row[2] << std::endl;
                std::cout << "cloumn3:"<< sql_row[3] << std::endl;
            }
        }else{
            std::cout << "empty result" << std::endl;
        }

        mysql_free_result(result);
    }

    
    std::cout << "query over" << std::endl;
    
    mysql_close(&conn);
    return 0;
}